#ifndef __CONSTANTES_H_
#define __CONSTANTES_H_

// Ruta de guardado de los niveles.
#ifndef RUTA_NIVELES
#define RUTA_NIVELES "../servidor/modelo/archivos/niveles/"
#endif

// Rutas de imagenes: editor
#define RUTA_BLUE_BUTTON "../common/img/blue-button-icon.png"
#define RUTA_GREEN_BUTTON "../common/img/green-button-icon.png"
#define RUTA_RED_BUTTON "../common/img/red-button-icon.png"
#define RUTA_VIOLET_BUTTON "../common/img/violet-button-icon.png"
#define RUTA_YELLOW_BUTTON "../common/img/yellow-button-icon.png"

#define RUTA_BLUE_MINIBAR_H "../common/img/blue-minibar-icon-h.png"
#define RUTA_GREEN_MINIBAR_H "../common/img/green-minibar-icon-h.png"
#define RUTA_RED_MINIBAR_H "../common/img/red-minibar-icon-h.png"
#define RUTA_VIOLET_MINIBAR_H "../common/img/violet-minibar-icon-h.png"
#define RUTA_YELLOW_MINIBAR_H "../common/img/yellow-minibar-icon-h.png"

#define RUTA_BLUE_MINIBAR_V "../common/img/blue-minibar-icon-v.png"
#define RUTA_GREEN_MINIBAR_V "../common/img/green-minibar-icon-v.png"
#define RUTA_RED_MINIBAR_V "../common/img/red-minibar-icon-v.png"
#define RUTA_VIOLET_MINIBAR_V "../common/img/violet-minibar-icon-v.png"
#define RUTA_YELLOW_MINIBAR_V "../common/img/yellow-minibar-icon-v.png"

#define RUTA_GOLDENSTAR "../common/img/goldenstar-icon.png"
#define RUTA_HUECO "../common/img/hueco-icon.png"

// Rutas de imagenes: cliente
#define RUTA_BLUE_BUTTON_GRANDE "../common/img/blue-button.png"
#define RUTA_GREEN_BUTTON_GRANDE "../common/img/green-button.png"
#define RUTA_RED_BUTTON_GRANDE "../common/img/red-button.png"
#define RUTA_VIOLET_BUTTON_GRANDE "../common/img/violet-button.png"
#define RUTA_YELLOW_BUTTON_GRANDE "../common/img/yellow-button.png"

#define RUTA_BLUE_MINIBAR_H_GRANDE "../common/img/blue-minibar-h.png"
#define RUTA_GREEN_MINIBAR_H_GRANDE "../common/img/green-minibar-h.png"
#define RUTA_RED_MINIBAR_H_GRANDE "../common/img/red-minibar-h.png"
#define RUTA_VIOLET_MINIBAR_H_GRANDE "../common/img/violet-minibar-h.png"
#define RUTA_YELLOW_MINIBAR_H_GRANDE "../common/img/yellow-minibar-h.png"

#define RUTA_BLUE_MINIBAR_V_GRANDE "../common/img/blue-minibar-v.png"
#define RUTA_GREEN_MINIBAR_V_GRANDE "../common/img/green-minibar-v.png"
#define RUTA_RED_MINIBAR_V_GRANDE "../common/img/red-minibar-v.png"
#define RUTA_VIOLET_MINIBAR_V_GRANDE "../common/img/violet-minibar-v.png"
#define RUTA_YELLOW_MINIBAR_V_GRANDE "../common/img/yellow-minibar-v.png"

#define RUTA_GOLDENSTAR_GRANDE "../common/img/goldenstar.png"
#define RUTA_HUECO_GRANDE "../common/img/hueco.png"

// Sonido
#define RUTA_SOUND_ON "../common/img/sound-on.png"
#define RUTA_SOUND_OFF "../common/img/sound-off.png"

// Nombre JSon de los botones.
#define BLUE_BUTTON "blueButton"
#define GREEN_BUTTON "greenButton"
#define RED_BUTTON "redButton"
#define VIOLET_BUTTON "violetButton"
#define YELLOW_BUTTON "yellowButton"

#define BLUE_MINIBAR_H "blueMiniBarH"
#define GREEN_MINIBAR_H "greenMiniBarH"
#define RED_MINIBAR_H "redMiniBarH"
#define VIOLET_MINIBAR_H "violetMiniBarH"
#define YELLOW_MINIBAR_H "yellowMiniBarH"

#define BLUE_MINIBAR_V "blueMiniBarV"
#define GREEN_MINIBAR_V "greenMiniBarV"
#define RED_MINIBAR_V "redMiniBarV"
#define VIOLET_MINIBAR_V "violetMiniBarV"
#define YELLOW_MINIBAR_V "yellowMiniBarV"

#define BLUE_MINIBAR "blueMiniBar"
#define GREEN_MINIBAR "greenMiniBar"
#define RED_MINIBAR "redMiniBar"
#define VIOLET_MINIBAR "violetMiniBar"
#define YELLOW_MINIBAR "yellowMiniBar"

#define GOLDENSTAR "goldenStar"

#define HUECO "empty"
#define DESOCUPADO "NONE"
#define INCOLORO ""

#define CRED "red"
#define CYELLOW "yellow"
#define CVIOLET "violet"
#define CBLUE "blue"
#define CGREEN "green"
#define CINVALIDO "INVALIDO"

#define MINIBAR "minibar"
#define MINIBARV "minibarV"
#define MINIBARH "minibarH"
#define BUTTON "button"

// Tipos de orientacion de los candies.
typedef char t_orientacion;
#define VERTICAL 'V'
#define HORIZONTAL 'H'
#define NO_ORIENTABLE 'X'

// Probabilidades de las orientaciones (su sumatoria debe ser igual a 1).
#define PROBABILIDAD_HORIZONTAL 0.5
#define PROBABILIDAD_VERTICAL 0.5


#define BD_SIN_CAMBIO 0
#define BD_MODIFICADA 1

#define MAX_DIMENSION 16

// Timeout de llamada al metodo on_draw en VistaEscenario para refresco de 
// pantalla (milisegundos).
// PRE: debe ser menor a 1000 (http://linux.die.net/man/3/usleep)
#define TIMEOUT_ON_DRAW 100

// Timeout de las animaciones (milisegundos)
#define TIEMPO_DE_REFRESCO 6

#endif
